static void gtk_scrolled_window_map (GtkWidget *widget);
static void gtk_scrolled_window_unmap (GtkWidget *widget);
static void gtk_scrolled_window_realize (GtkWidget *widget);
-static void gtk_scrolled_window_unrealize (GtkWidget *widget);
-
static void _gtk_scrolled_window_set_adjustment_value (GtkScrolledWindow *scrolled_window,
GtkAdjustment *adjustment,
gdouble value);
static void gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window);
static void remove_indicator (GtkScrolledWindow *sw,
Indicator *indicator);
-static void indicator_stop_fade (Indicator *indicator);
static gboolean maybe_hide_indicator (gpointer data);
static void indicator_start_fade (Indicator *indicator,
widget_class->map = gtk_scrolled_window_map;
widget_class->unmap = gtk_scrolled_window_unmap;
widget_class->realize = gtk_scrolled_window_realize;
- widget_class->unrealize = gtk_scrolled_window_unrealize;
widget_class->direction_changed = gtk_scrolled_window_direction_changed;
container_class->add = gtk_scrolled_window_add;
gtk_scrolled_window_update_animating (scrolled_window);
}
+static void
+indicator_reset (Indicator *indicator)
+{
+ if (indicator->conceil_timer)
+ {
+ g_source_remove (indicator->conceil_timer);
+ indicator->conceil_timer = 0;
+ }
+
+ if (indicator->over_timeout_id)
+ {
+ g_source_remove (indicator->over_timeout_id);
+ indicator->over_timeout_id = 0;
+ }
+
+ if (indicator->scrollbar && indicator->tick_id)
+ {
+ gtk_widget_remove_tick_callback (indicator->scrollbar,
+ indicator->tick_id);
+ indicator->tick_id = 0;
+ }
+
+ indicator->scrollbar = NULL;
+ indicator->over = FALSE;
+ gtk_progress_tracker_finish (&indicator->tracker);
+ indicator->current_pos = indicator->source_pos = indicator->target_pos = 0;
+ indicator->last_scroll_time = 0;
+}
+
static void
gtk_scrolled_window_unmap (GtkWidget *widget)
{
gtk_scrolled_window_update_animating (scrolled_window);
- indicator_stop_fade (&priv->hindicator);
- indicator_stop_fade (&priv->vindicator);
+ indicator_reset (&priv->hindicator);
+ indicator_reset (&priv->vindicator);
}
static void
indicator_set_fade (indicator, target);
}
-static void
-indicator_stop_fade (Indicator *indicator)
-{
- if (indicator->tick_id != 0)
- {
- indicator_set_fade (indicator, indicator->target_pos);
- gtk_widget_remove_tick_callback (indicator->scrollbar, indicator->tick_id);
- indicator->tick_id = 0;
- }
-
- if (indicator->conceil_timer)
- {
- g_source_remove (indicator->conceil_timer);
- indicator->conceil_timer = 0;
- }
-
- gtk_progress_tracker_finish (&indicator->tracker);
- indicator->current_pos = indicator->source_pos = indicator->target_pos = 0;
- indicator->last_scroll_time = 0;
-}
-
static gboolean
maybe_hide_indicator (gpointer data)
{
GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->realize (widget);
}
-static void
-indicator_reset (Indicator *indicator)
-{
- if (indicator->conceil_timer)
- {
- g_source_remove (indicator->conceil_timer);
- indicator->conceil_timer = 0;
- }
-
- if (indicator->over_timeout_id)
- {
- g_source_remove (indicator->over_timeout_id);
- indicator->over_timeout_id = 0;
- }
-
- if (indicator->scrollbar && indicator->tick_id)
- {
- gtk_widget_remove_tick_callback (indicator->scrollbar,
- indicator->tick_id);
- indicator->tick_id = 0;
- }
-
- indicator->scrollbar = NULL;
- indicator->over = FALSE;
- gtk_progress_tracker_finish (&indicator->tracker);
- indicator->current_pos = indicator->source_pos = indicator->target_pos = 0;
- indicator->last_scroll_time = 0;
-}
-
-static void
-gtk_scrolled_window_unrealize (GtkWidget *widget)
-{
- GtkScrolledWindow *scrolled_window = GTK_SCROLLED_WINDOW (widget);
- GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
-
- indicator_reset (&priv->hindicator);
- indicator_reset (&priv->vindicator);
-
- GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->unrealize (widget);
-}
-
/**
* gtk_scrolled_window_get_min_content_width:
* @scrolled_window: a #GtkScrolledWindow